package com.freight.user.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.freight.user.dto.VehicleDetailInfoDto;
import com.freight.user.entity.VehicleLicense;
import com.freight.user.vo.*;
import org.apache.ibatis.annotations.Param;;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * @author guoys
 * @create 2021/6/3
 */
public interface VehicleVoMapper extends BaseMapper<UserVo> {

    List<HistoryVehicleVo> historyVehicle(@Param("vehicleNum") String vehicleNum);

    Double getVehicleGpalOrder(@Param("vehicleId") String vehicleId);

    VehicleGpalInfoVo getDeviceidGpalOrder(@Param("gpsEquipment") String gpsEquipment);

    VehicleGpalInfoVo getVehicleGpalInfoVo(@Param("gpsEquipment") String gpsEquipment);

    List<String> vehicleGoodsType(@Param("goodsTypae") String goodsTypae,@Param("goodsSubTypae") String[] goodsSubTypae,@Param("vehicleState") String vehicleState);

    List<String> companyVehicleListPosition(@Param("goodsTypae") String goodsTypae,@Param("goodsSubTypae") String[] goodsSubTypae,@Param("vehicleState") String vehicleState,@Param("userId") Long userId);

    VehicleLicense getVehicleLicenseUserId(@Param("userId") Long userId);

    PlaterVehicleLicenseVo getPcDriverLicenseId(@Param("vehicleId") Long vehicleId);

    List<VehicleLicense> getVehicleInfoByUservin(@Param("vehicleNum") String vehicleNum);

    Page<VehicleDetailInfoVo> vehicleManagementList(Page<VehicleDetailInfoVo> page, @Param("vehicleDetailInfoDto") VehicleDetailInfoDto vehicleDetailInfoDto);

    Page<VehicleDetailInfoVo> companyVehicleManagementList(Page<VehicleDetailInfoVo> page, @Param("vehicleDetailInfoDto") VehicleDetailInfoDto vehicleDetailInfoDto, @Param("userId") Long userId);

    List<VehicleInfoVo> getVehicleInfoByUserIds(@Param("vehicleIds")Long[] vehicleIds);

    List<VehicleLicense> getVehicleInfoAll();

    VehicleInfoVo getVehicleInfoByUserId(@Param("vehicleId")Long vehicleId);
    

    VehicleInfoVo getVehicleInfoByvehicleNum(@Param("vehicleNum")String vehicleNum);
}
